home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Tool Chest / Developer Utilities / Installer 4.0.3 SDK / DeveloperInterfaces / CIncludes / AtomExtenderHeader.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-15  |  4.0 KB  |  149 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        AtomExtenderHeader.h
  3.  
  4.     Contains:    xxx put contents here xxx
  5.  
  6.     Written by:    Kevin Aitken
  7.  
  8.     Copyright:    © 1993 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.          <3>     7/12/93    rdm        Added #ifndef __AtomExtenderHeader__.
  13.          <2>     6/21/93    KBA        Converting to new callback dispatcher.
  14.          <1>      4/1/93    KBA        first checked in
  15.  
  16. */
  17.  
  18.  
  19. #ifndef __AtomExtenderHeader__
  20. #define __AtomExtenderHeader__
  21.  
  22.  
  23. #ifndef __CallbackDispatcherHeader__
  24. #include "CallbackDispatcherHeader.h"
  25. #endif
  26.  
  27.  
  28. #ifndef __Files__
  29. #include <Files.h>
  30. #endif
  31.  
  32. #ifndef __Types__
  33. #include <Types.h>
  34. #endif
  35.  
  36.  
  37. // ***********************************************************************************************
  38. // ********************************** structures and constants ***********************************
  39. // ***********************************************************************************************
  40.  
  41. typedef enum { kFileAtomDataFork, kFileAtomRsrcFork, kFileAtomRsrcForkFromDataFork, kRsrcAtom, kFontAtom, kActionAtom, reserved1 = 100 } DataType;
  42. typedef enum { kFatalError = -1, kContinueAsNormal = 0, kCancelInstallation = 1, kCopiedData, kForceToShort = 300 } ExtenderResultCode;
  43. typedef enum { kInitialize, kBeforePart, kAfterPart, kSuccess, kCancel } ExtenderMessageID;
  44.  
  45.  
  46. typedef  struct {
  47.     ExtenderMessageID    fMessageID;
  48.     Handle                fStaticDataHdl;
  49.     ProcPtr                fCallBackProcPtr;
  50.     short                fTargetVRefNum;
  51.     long                fTargetFolderDirID;
  52.     short                fSystemVRefNum;
  53.     long                fSystemBlessedDirID;
  54.     long                fRefCon;
  55.     DataType            fDataType;
  56. } EnvironsHeaderRec;
  57.  
  58.  
  59. typedef  struct {
  60.     FSSpec                fSourceFile;
  61.     FSSpec                fTargetFile;
  62.     long                fTotalTargetSize;
  63.     long                fTargetPosStart;
  64.     long                fTargetPartSize;
  65.     long                fSourcePartSize;
  66.     long                fInstallerTempDirID;
  67. } CopyHeaderRec;
  68.  
  69.  
  70. typedef  struct {
  71.     EnvironsHeaderRec    fEnvironmentHeader;
  72.     CopyHeaderRec        fCopyPBHeader;
  73. } BasicCopyRec;
  74.  
  75.  
  76. typedef  struct {
  77.     EnvironsHeaderRec    fEnvironmentHeader;
  78.     CopyHeaderRec        fCopyPBHeader;
  79.     ResType                fSourceRsrcType;
  80.     short                fSourceRsrcID;
  81.     ResType                fTargetRsrcType;
  82.     short                fTargetRsrcID;
  83.     Str255                fTargetRsrcName;
  84.     short                fTargetRsrcAttrs;
  85. } RsrcCopyRec;
  86.  
  87.  
  88. typedef  struct {
  89.     EnvironsHeaderRec    fEnvironmentHeader;
  90.     CopyHeaderRec        fCopyPBHeader;
  91.     ResType                fSourceFontRsrcType;
  92.     short                fSourceFontRsrcID;
  93.     ResType                fTargetFontRsrcType;    /* FONT, NFNT, or sfnt */
  94.     short                fTargetFontRsrcID;
  95.     Str255                fTargetFontRsrcName;
  96.     short                fTargetFontRsrcAttrs;
  97.     Str255                fFamilyName;
  98.     short                fFamilyID;
  99.     short                fFontSize;
  100.     short                fFontStyle;
  101. } FontCopyRec;
  102.  
  103. typedef union {
  104.     BasicCopyRec        fBasicPBRec;
  105.     BasicCopyRec        fFileCopyPBRec;
  106.     RsrcCopyRec            fRsrcCopyPBRec;
  107.     FontCopyRec            fFontCopyPBRec;
  108. } ExtenderPBRec, *ExtenderPBPtr ;
  109.  
  110.  
  111.  
  112. // ***********************************************************************************************
  113. // ******************************* Extender I/O Callback Routines ********************************
  114. // ***********************************************************************************************
  115.  
  116. OSErr ReadSourceData(     CallBackProcPtr    pCallBackProcPtr,
  117.                         long*            count, 
  118.                         Ptr                storagePtr );
  119.  
  120. OSErr WriteTargetData(    CallBackProcPtr    pCallBackProcPtr,
  121.                         long            count,
  122.                         Ptr                storagePtr );
  123.  
  124. OSErr ReadTargetData(     CallBackProcPtr    pCallBackProcPtr,
  125.                         long*            count,             /* Curretnly only available in rsrc atom version procs/ */
  126.                         Ptr                storagePtr );
  127.  
  128. OSErr SetTargetDataPos(    CallBackProcPtr    pCallBackProcPtr,
  129.                         short            positionMode,        /* see File.h */
  130.                         long            positionOffset );
  131.  
  132. OSErr GetTargetDataPos(    CallBackProcPtr    pCallBackProcPtr,
  133.                         long*            positionOffset );
  134.  
  135. OSErr GetTargetDataEOF(    CallBackProcPtr    pCallBackProcPtr,
  136.                         long*            theLength );
  137.  
  138. OSErr SetSourceDataPos(    CallBackProcPtr    pCallBackProcPtr,
  139.                         short            positionMode,        /* see File.h */
  140.                         long            positionOffset );
  141.  
  142. OSErr GetSourceDataPos(    CallBackProcPtr    pCallBackProcPtr,
  143.                         long*            positionOffset );
  144.  
  145. OSErr GetSourceDataEOF(    CallBackProcPtr    pCallBackProcPtr,
  146.                         long*            theLength );
  147.  
  148.  
  149. #endif